<?php
namespace Home\Model;
use Think\Model\AdvModel;
class AdvArticleModel extends AdvModel{

	protected $tableName = 'article';
	Protected $autoCheckFields = false;

	protected $partition = array(
		'field' => 'id',// 要分表的字段 通常数据会根据某个字段的值按照规则进行分表
		'type' => 'id',// 分表的规则 包括id year mod md5 函数 和首字母
		'expr' => '3',// 分表辅助表达式 可选 配合不同的分表规则
		'num' => '2',// 分表的数目 可选 实际分表的数量
	);

	//获取多表表名
	public function init($data = array()){
		$data = empty($data) ? $_POST : $data;

		$table = $this->getPartitionTableName($data);
		if(!empty($data)){
			dump("实际的表名:{$table}");
		}
		return $this->table($table);
	}

	//清空多表
	public function emptyTable(){
		$tableName = array();
		for($i=0;$i<$this->partition['num'];$i++){
			$tableName = $this->getTableName().'_'.($i+1);
			$this->execute("TRUNCATE TABLE `{$tableName}`");
		}
	}

}